/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controller;

import controller.util.PagingInfo;
import dao.ArquivoJpaController;
import dao.CursoJpaController;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import pagecontroller.JsfUtil;
import dao.exceptions.NonexistentEntityException;
import java.util.ArrayList;
import java.util.Date;
import modelo.Arquivo;
import modelo.Curso;
import modelo.SituacaoAluno;
import modelo.TipoCurso;
import pagecontroller.PageManager;

/**
 *
 * @author Dirac
 */
public class ArquivoControllerSearch {

    public ArquivoControllerSearch() {
        //FacesContext facesContext = FacesContext.getCurrentInstance();
        if (JsfUtil.getObjectFromSession("ArquivoJpaController") == null) {
            jpaController = new ArquivoJpaController();
        } else {
            jpaController = (ArquivoJpaController) JsfUtil.getObjectFromSession("ArquivoJpaController");
        }
    }
    private Arquivo arquivo = null;
    private List<Arquivo> arquivos = null;
    private ArquivoJpaController jpaController = null;
    private List<Curso> cursos = null;

    public Arquivo getArquivo() {
        if (arquivo == null) {
            arquivo = new Arquivo();
        }
        return arquivo;
    }

    public String search() {
        arquivos = jpaController.search(arquivo);
        PageManager pm = (PageManager) JsfUtil.getObjectFromSession("PageManager");
        pm.setPageResultSearchArquivo();
        arquivo = null;
        return "refreshPage";
    }
    
    public String searchCurso() {
        arquivos = jpaController.searchCurso(arquivo.getCurso());
        PageManager pm = (PageManager) JsfUtil.getObjectFromSession("PageManager");
        pm.setPageResultSearchArquivo();
        arquivo = null;
        return "refreshPage";
    }

    public List<Arquivo> getArquivos() {
//        this.arquivos = jpaController.findArquivoEntities();
        return this.arquivos;
    }

    public ArquivoJpaController getJpaController() {
        return jpaController;
    }

    public String load() {


        PageManager pm = (PageManager) JsfUtil.getObjectFromSession("PageManager");
        pm.setPageInserirArquivo();
        return "refreshPage";
    }

    public boolean removeArquivoList(Arquivo arquivo) {
        int id=0;

        for(int i = 0; i<=arquivos.size();i++){
            if(arquivo.getId()==arquivos.get(i).getId()){
                arquivos.remove(i);
                return true;
            }
        }
        return false;
//
//        for (Arquivo ar : arquivos) {
//            if (ar.getId() == arquivo.getId()) {
//
//                //arquivos.remove(ar);
//                return true;
//
//            }
//        }
//        return false;
//
//        if (arquivos.contains(arquivo)) {
//            arquivos.remove(arquivo);
//            return true;
//        }
//        return false;
    }
}
